package com.hsteach.dao.domain.visit;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hsteach.common.annotation.Excel;
import com.hsteach.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 家访记录对象 tb_visit_record
 * 
 * @author fanxquer
 * @date 2023-07-21
 */
@Data
@TableName("tb_visit_record")
public class VisitRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 学生id */
    @Excel(name = "学生id")
    private String personId;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    private String personName;

    /** 打卡地点 */
    @Excel(name = "打卡地点")
    private String visitAddr;

    /** 是否有安全事件， 1有，0无 */
    private Integer hasSafeEvent;

    /** 家访时间 */
    private Date visitDate;

    /** 班级id */
    private String classId;

    /** 班级名称 */
    private String className;

    /** 性别 */
    private String sex;

    /** 家访名称 */
    private String recordName;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 机构号 */
    @Excel(name = "机构号")
    private String orgCode;

    /** 家访预约id */
    @Excel(name = "家访预约id")
    private Long reservationId;

    /** 是否草稿，1是，0否 */
    @Excel(name = "是否草稿，1是，0否")
    private Integer isDraft = 0;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createByName;

    /** 当前用户id */
    @TableField(exist = false)
    private String currPersonId;

    /**
     * 删除状态 ，1有效，0无效
     */
    private Integer delStatus;

    private Integer count;

    private String orderBy;

    private List<String> classIds;

    private Date visitDateBegin;

    private Date visitDateEnd;
}
